<?php
class Model_Tags {
	function Model_Tags() {
		  $this->_tbTags =& FLEA::getSingleton('Model_DB_Tags');
	}
	//输入一个tags字符串，将其分解并存入数据库
	/**
	 * 分解成数组,trim一下,循环检查是否存在此tag,如存在建立uid和tid之间的关联,如不存在,入库后再建立关联
	 *
	 */
	 //检测指定tag是否存在
	function existTag($tag) {
		$result = $this->_tbTags->findAllByField("tag_name",$tag);
		if(count($result)>0)return true;
		else return false;
	}
	//添加一个新tag
	function addTag($tag) {
		$new_tag = array(
			"tag_name"=>$tag
		);
		return $this->_tbTags->create($new_tag);
	}
	//得到某一tag的tid
	function getTid($tag) {
		$atag = $this->_tbTags->findByField("tag_name",$tag);
		return $atag["tid"];
	}
	//根据表单添加tags-参数是
	function addtags($tags,$pid,$uid) {
		if(trim($tags)=='') return;
		$tagslist =explode(" ",$tags);
		foreach($tagslist as $tag) {
			$tag = trim($tag);
			if($this->existTag($tag)) {
				$tid = $this->getTid($tag);
			} else {
				$tid = $this->addTag($tag);
			}
			$sql = "insert into `products_tags` (`tid`,`pid`,`uid`) values('".$tid."','".$pid."','".$uid."')";
			mysql_query($sql);
		}
	}
	function & getTable() {
		return $this->_tbTags;
	}
}
?>